home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Frameworks / Grant's CGI Framework 1.0b12 / Read Me < prev    next >
Text File  |  1995-12-09  |  8KB  |  130 lines

  1. Grant's CGI Framework
  2. (Common Grant Interface :-)
  3. Version 1.0 beta 12
  4.  
  5. by Grant Neufeld
  6.  
  7.  
  8. Grant's CGI Framework is a framework for writing 68K & PowerPC Macintosh CGI applications in C. The user of the framework only needs to modify one function (located in its own file) to produce a custom CGI - all the other details are handled by the framework. There are numerous options for customization. Macintosh programming experience is not required (although it helps) - but at least a basic knowledge of the ANSI C language will be neccessary.
  9.  
  10. Features:
  11.  * 68K and PowerPC native support
  12.  * Multi-Threaded (thread support requires Apple's Thread Manager or System 7.5)
  13.  * Automatic html form parsing with easy function access to individual fields
  14.  * Supports Asynchronus CGI (ACGI)
  15.  * Supports ListSTAR trigger and action events
  16.  * AppleScriptable for testing without a server or MacTCP
  17.  * Can optionally compile as faceless background-only application
  18.  * Numerous configuration options for optimizing to your specific needs
  19.  * Option for self-quitting after specified idle time
  20.  * Significant performance increase over scripts such as those in AppleScript and Perl
  21.  * Metrowerks and Symantec project files
  22.  * If you use it to write free applications, it's free to use. Otherwise, there is a price.
  23.  
  24. Getting Started
  25.  
  26. The 'Documentation' folder contains some instructions on how to use the framework, the version history (release notes) and the 'License and Limited Warranty'. If you read through the entire documentation (shouldn't take very long because there's not all that much, yet), look at the source code, and still don't understand something, ask about it on the mailing list or by email directly to Grant. (addresses later in this doc)
  27.  
  28. Notes:
  29.  
  30. The PowerPC compatibility has been tested by others, but I haven't seen it myself (I'm on a 680x0 system). If you want extensive and robust testing please buy me a PowerMac! <grin> No, really, please feel welcome to buy me any model of PowerMac - or even a hand-me-down!
  31.  
  32. I've only added basic support for ListSTAR trigger and action events in the current version. For those who don't want both CGI and ListSTAR events in their application, it is easy to remove the ListSTAR or CGI support from the project (I'll eventually be distributing them as separate projects, but it's easier for me to do them as one, for now) See the section on "Building a ListSTAR tool" at the end of the documentation for instructions on using or not using ListSTAR and CGI events.
  33.  
  34. The THINK C version is running now! The Symantec PPC version isn't working yet, but I'm in contact with Symantec about this and will hopefully have a fix "Real Soon Now."
  35.  
  36. For specifics on what you have to pay for using this software and code, please refer to the "Royalties" file in the "Documentation" folder.
  37.  
  38. This is beta software but it seems to actually work without problems! Don't bet your life on it though...
  39.  
  40.  
  41. Further Information About This Framework
  42.  
  43. World Wide Web home page:
  44.      http://arpp.carleton.ca/grant/mac/grantscgi/
  45.  
  46. Grant's CGI Discussion & Announcements mail list:
  47. I've set up a mailing list for discussing this framework. It is intended to be a forum for information, ideas, questions and announcements about CGIs written by me, and about writing CGIs using Grant's CGI Framework. 
  48. Send a message with the command "subscribe" as the subject to: 
  49.   grantcgi@arpp1.carleton.ca
  50.  
  51. Download:
  52.   http://arpp.carleton.ca/grant/mac/grantscgi.sit.hqx
  53.  
  54. On the Info-Mac archives in "/info-mac/dev/lib/".
  55.  
  56. The "Apprentice 3" CD <http://www.celestin.com/apprentice/> includes a copy of version 1.0b1 in "Apprentice:Source Code:C:Frameworks:"
  57. "Apprentice 4" is due out in January and should have either beta 11 or 12 on it.
  58.  
  59. On eWorld: Macintosh Development Forum (shortcut "mac dev") -> Software Library -> New Files (Upload Here) -> Grant's CGI Framework
  60.  
  61.  
  62. Possible Future Enhancements
  63.  
  64. The following are things I would like to do to improve the framework (not in chronological order). Of course, a little grease would get the wheels rolling faster, if you catch my drift... <grin>
  65.  
  66.  * More complete and better documentation
  67.  * Sample applications
  68.  * Use resources for storing some of the variables
  69.     (like number of threads and quit idle time)
  70.  * Simple preferences interface (and prefs file) for setting variables
  71.  * status window
  72.  * make alerts modeless so they don't freeze up the system
  73.  * Error/transaction log
  74.  * Functions for sending ListSTAR control events
  75.  * Symantec PPC support
  76.  * MPW support
  77.  * Write some useful test scripts
  78.  * Determine server name for http headers
  79.  * Support WebSTAR 'Reporting' events
  80.  * Better (and tested) Send Partial / Server Push support
  81.  * Determine CGI Type (IE. ACGI, CGI, Action, Preprocessor, Postprocessor)
  82.  * Allow event passing for CGI daisy-chaining
  83.  * Profile and optimize the code
  84.  * MacAPP, PowerPlant and THINK Class Library C++ CGI class integration
  85.  * Pascal version
  86.  * Support unix cgi variables for easier porting from unix
  87.  * A unix code shell for easier porting to unix
  88.  * Internet Config support (IE. clickable urls in about box!)
  89.  * AppleGuide, QuickView, THINK Reference, ObiWan, etc. online reference(s)
  90.  
  91.  
  92. Acknowledgements
  93.  
  94. Thanks to Wayne K. Walrath for identifying (and helping solve) my previously bad design of AppleEvent threading.
  95.  
  96. Thanks to Gregory S. Combs and Steve Johnson (who both have access to PowerPCs, which I don't) for identifying the now corrected PowerPC compiler errors. Gregory also supplied the initial PPC format project file for CodeWarrior and some code snippets.
  97.  
  98. Stefan Strand of "Teknik i Media AB" identified my off-by-one error in the 'CGIDecodeSpecialChars' function (now fixed).
  99.  
  100. The original source that this was inspired by is "Responder" written by John O'Fallon. Although I did the whole thing over from scratch to suit my own purposes. See his site: http://www.maxum.com/maxum/
  101.  
  102. I also looked at John Norstad's MailTools Gateway, but decided the code was too obscure for my very particular code style tastes. (Not that my code is necessarily any less obscure - just differently so ;-)
  103.  
  104. The WebSTAR™ documentation provided the complete information needed for writing the Apple Event support.
  105.  
  106. Chuck Shotton, author of MacHTTP™ and WebSTAR™, answered some of my questions along the way.
  107.  
  108. Scott T Boyd and a bunch of others who were at MacHack'95 affected my thinking about this code. (But don't blame them for the outcome, please. It's all my fault.)
  109.  
  110.  
  111. About the Author
  112.  
  113. I, Grant Neufeld, as of this writing, am an applications programmer for InfoDesign Corporation. My current project there is the Macintosh part of a workflow management system (WorkSMART™). The company also does some good SGML training. They can be contacted at info@idc.com. They have absolutely nothing to do with this project and are in no way associated with it or responsible for any aspect of it (except that they pay my salary, which pays for food, which keeps me alive, which is a necessary factor in my ability to produce this stuff.)
  114.  
  115. See my vanity page for more insight into who I am and what I do:
  116.   http://arpp.carleton.ca/grant/
  117.  
  118. Contacting me:
  119.   gneufeld@ccs.carleton.ca  (At least until May 1996)
  120.   grant@acm.org
  121.   grant@kagi.com
  122.  
  123. ____________________
  124. StarNine, ListSTAR, and WebSTAR are trademarks of StarNine Technologies, Inc.
  125. AppleScript, Macintosh, Mac, and MacTCP are trademarks or registered trademarks of Apple Computer, Inc.
  126. UNIX is a registered trademark of Novell, Inc.
  127. WorkSMART is a trademark of InfoDesign Corporation.
  128. Grant's CGI Framework is, for those who even bother to read the small print, a GrantMark.
  129. Copyright ©1995 by Grant Neufeld
  130.